package com.dongnao.barry.ls38_rxjavaopertor;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import com.dongnao.barry.ls38_rxjavaopertor.rxjava.Function;
import com.dongnao.barry.ls38_rxjavaopertor.rxjava.Obserable;
import com.dongnao.barry.ls38_rxjavaopertor.rxjava.ObservableOnSubscribe;
import com.dongnao.barry.ls38_rxjavaopertor.rxjava.Observer;


public class MainActivity extends AppCompatActivity {

    private static final String TAG = MainActivity.class.getName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//

//        1  rxjava   遇到了   鲁班表达式
        //通过create创建第一个Obserable（被观察者） 人民日报
        Obserable.create(new ObservableOnSubscribe<String>() {
//            Observer<? super String> observer 农民工
            @Override
            public void subscribe(Observer<? super String> observer) {
//                隐士的递归   1  事件订阅 的开始    2  事件通知的开始     内容
                Log.e(TAG, "subscribe: 1  前");
                /**{@link com.dongnao.barry.ls38_rxjavaopertor.rxjava.OperatorMap 的内部类MapSubscrible的next方法  }*/
                observer.onNext("http:www.dongnbao/head.png");
                Log.e(TAG, "subscribe: 1  后");
            }
            //调用map方法后，被观察者已经切换到了造纸厂被观察者
        }).map(new Function<String, Bitmap>() {
            @Override
            public Bitmap apply(String s) {
                Log.e(TAG, "apply:    3 "+s);
                return Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
            }
        }).subscrible(new Observer<Bitmap>() {
            @Override
            public void onNext(Bitmap bitmap) {
                Log.e(TAG, "onNext: 4  "  +bitmap);
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        });




    }
}
